/**
*****************************************************************************************
*     Copyright(c) 2015, Realtek Semiconductor Corporation. All rights reserved.
*****************************************************************************************
* @file     fast_prov_server.h
* @brief    Head file for fast provision server
* @details
* @author   hector_huang
* @date     2020-07-15
* @version  v1.0
* *************************************************************************************
*/
#ifndef _FAST_PROV_SERVER_H_
#define _FAST_PROV_SERVER_H_

#include "platform_types.h"
#include "fast_prov_service.h"

BEGIN_DECLS

/** @addtogroup Fast_Prov_Server
  * @{
  */

/**
 * @defgroup Fast_Prov_Server_Exported_Types Exported Types
 * @{
 */

/** fast provision service id */
extern uint8_t fast_prov_server_id;
/*
typedef enum
{
    FAST_PROV_ENABLE,
    FAST_PROV_START,
    FAST_PROV_SUCCESS,
    FAST_PROV_FAILED,
} fast_prov_cb_type_t;

typedef struct
{

} fast_prov_cb_data_t;

typedef void (*fast_prov_cb_t)(fast_prov_cb_type_t type, void *pdata);
*/
/** @} */

/**
 * @defgroup Fast_Prov_Server_Exported_Functions Exported Functions
 * @{
 */

/**
 * @brief add fast provisiont server service to gatt database
 * @return service id
 */
uint8_t fast_prov_server_add(void);

/**
 * @brief notify unprovision device
 * @param[in] mac_addr: unprovision device's mac address
 * @param[in] elem_num: unprovision device's element number
 * @param[in] pid: unprovision device's product id
 * @return status
 */
bool fast_prov_server_notify_unprov_dev(uint8_t mac_addr[6], uint8_t elem_num, uint32_t pid);

/**
 * @brief notify device provision success
 * @param[in] mac_addr: provision success device address
 * @return status
 */
bool fast_prov_server_notify_prov_success(uint8_t mac_addr[6]);

/** @} */
/** @} */

END_DECLS

#endif /** FAST_PROV_SERVER_H_ */

